قسمت چهارم آموزش C – عملگرها
جدیدترین خبره های آموزشی برنامه نویسی و فروشگاه

عملگرهای ردیف ۱ تا ۴ در جدول تقریبا در همه زبانهای برنامه سازی وجود دارند.

عملگر % که در بقیه زبانها با علامت دیگری ( مثلا در بیسیک به صورت MOD ) وجود دارد باقیمانده تقسیم دو عدد را محاسبه می کند :

; x = 13
; y = 5
; z = x % y
اگر سه دستور فوق را توسط ماشین اجرا کنیم مقدار۳ که باقیمانده تقسیم ۱۳ بر ۵ است در z قرار می گیرد .

دستور –x از x یک واحد کم می کند و نتیجه را در x قرار می دهد که معادل دستور x = x-1 است .

دستور ++x معادل دستور x = x+ 1 است که موجب افزودن یک واحد به x می شود .
اگر در یک عبارت از عملگرهای افزایش و کاهش یک واحد ، استفاده کنیم به کاربردن این عملگرها در قبل و بعد از عملوند مربوطه ، با یکدیگر متفاوت است . بدین معنی که اگر این عملگرها قبل از عملوند باشند مقدار فعلی عملوند مورد استفاده قرار گرفته و سپس عملگرها بر روی آن عمل میکنند ، ولی اگر بعد از عملوند مربوطه باشند پس از انجام عمل افزایش و کاهش یک واحد به آنها مقادیر جدید ، در عبارت مورد استفاده قرار می گیرند. استفاده ازعملگرهای افزایش و کاهش یک واحد ، سرعت محاسباتی را بالا می برد .

اگر در یک عبارت از چند عملگر محاسباتی استفاده شود ، مساله تقدم عملگرها مطرح می شود .

بالاترین تقدم — | + + | بعد | * / %
پایین ترین تقدم | – | +

همان طور که مشاهده می شود ، عملگرهای افزایش و کاهش یک واحد دارای بالاترین تقدم و عملگرهای جمع و تفریق دارای کمترین تقدم هستند . عملگرهایی که در یک سطر آمده اند ، مثل – و + بدین معنی است که دارای تقدم مکانی نسبت به یکدیگر هستند. در این صورت هر کدام از عملگرها که اول ظاهر شود ، زودتر انجام خواهد شد .

عملگرهای رابطه ای
عملگرهای رابطه ای برای تشخیص ارتباط بین عملوندها یا مقایسه آنها مورداستفاده قرار می گیرند.

عملگر | نام | مثال

> | بزرگتر | y < x
=>| بزرگتر مساوی | y <= x
< | کوچکتر | x > y
=<|< کوچکتر مساوی | x >= y
== و = | مساوی بودن | x=x==y
!= | نامساوی | x!=y

نکته : عملگر== برای تشخیص مساوی بودن دو عبارت مورد استفاده قرار می گیرد. این عملگر با عملگر= که برای انتساب یک عبارت به یک متغیر استفاده می شود متفاوت است .

عملگرهای منطقی

عملگرهای منطقی بر روی عملوندهای منطقی عمل میکنند. عملوندهای منطقی دارای دو ارزش درستی و نادرستی هستند .

&& : AND
|| : OR
! : NOT

عملگرهای منطقی ارزش نادرستی درزبان C با مقدار صفر و ارزش درستی با مقادیر غیراز صفر مشخص میشود. عملگر منطقی ! دارای بالاترین تقدم و عملگر || دارای کمترین تقدم در بین عملگرهای منطقی هستند . چون عملگرهای منطقی رابطه نزدیکی با عملگرهای رابطه ای دارند می توان تقدم آنها را نسبت به یکدیگر بیان کرد .

تقدم در عبارات منطقی

بالاترین تقدم | ! | > >= < <= |
| == != |
| && |
پایین ترین تقدم | ||

تقدم عملگرهای منطقی و رابطه ای عملگرهای محاسباتی و رابطه ای با یکدیگر ترکیب شده وعملگرهای دیگری را بنام عملگرهای محاسباتی رابطه ای ایجاد می کنند. تقدم این عملگرها از سایر عملگرها پایین تر است .

عملگر | نام | مثال

+= | انتساب جمع | x+=y
= | انتساب تفریق | x-=y
*= | انتساب ضرب | x*=y
/= | انتساب تقسیم | x/=y
%= | انتساب باقیمانده تقسیم | x%=y

عملگرهای محاسباتی و رابطه ای عبارت x + = y معادل با x = x + y است .

; int a = 10
; int b = 20
; a += b
با اجرای دستورات فوق متغیر a برابر۳۰ خواهد بود. زیرا دستور a + = b معادل دستور a = a + b است .

عملگر دستکاری بیت ها
ازآنجایی که زبان C طوری طراحی شده است که بتواند دربسیاری ازموارد جایگزین زبان اسمبلی گردد. باید قادر باشد کلیه اعمال ( یا حداقل بسیاری از اعمال ) که در زبان اسمبلی قابل انجام هستند را انجام دهد . یکی از اعمالی که در زبان اسمبلی براحتی انجام پذیر است . انجام اعمالی بر روی بیت های یک بایت یا یک کلمه از حافظه است که در زبان C برای انجام این منظورازعملگرهایی استفاده می شود که به عملگرهای بیتی معروفند . این عملگرها انجام اعمال تست ، مقدار دادن و یا انتقال (shift) بیت ها را در یک بایت یا کلمه حافظه امکان پذیر می نمایند. عملگرهای بیتی فقط بر روی متغیرهایی از نوع  char یا int عمل می کنند و بر روی متغیرهایی از نوع float ، double  void و یا سایر متغیرها قابل اجرا نیستند .

عملگرهای بیتی

عملگر | نوع عمل

& | AND ( و )
| | OR ( یا )
^ | XOR ( یا انحصاری )
~ | NOT ( نقیض یا متمم یک )
>> | انتقال به سمت راست (shift right)
<< | انتقال به سمت چپ (shift left)

عملگر ? :
عملگر ? با تست یک شرط ، مقداری را به یک متغیر نسبت می دهد .

عملگرهای & و * :
عملگر & یک عملگر یکانی است که آدرس عملوند خود را مشخص می کند .

عملگر * همانند عملگر & یک عملگر یکانی است که محتویات یک آدرس حافظه را مشخص می کند و به صورت زیر به کار می رود .

عملگر sizeof :
این عملگر که عملگر زمان ترجمه نامیده می شود، برای محاسبه طول یک نوع و یایک متغیر به کار رفته و به صورت زیر استفاده می شود .

تقدم عملگرها در حالت کلی

بالاترین تقدم () , ! , ~ , ++ , — , * , & , sizeof
* / %
+ –
<< >>
<< = >> =
== =!
&
^
|
&&
||
?
= , += , – = , *= , /= , % , =/


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








تاریخ: سه شنبه 23 مهر 1392برچسب:قسمت چهارم آموزش C – عملگرها,
ارسال توسط باباجانپور

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 14
بازدید دیروز : 2
بازدید هفته : 14
بازدید ماه : 24
بازدید کل : 1662
تعداد مطالب : 9
تعداد نظرات : 0
تعداد آنلاین : 1

کسب درآمد از پاپ آپ و پاپ باکس کسب درآمد از پاپ آپ و پاپ باکس کسب درآمد از پاپ آپ و پاپ باکس کسب درآمد از پاپ آپ و پاپ باکس